package com.jdy.haoduoaiteacher.util.inject;//package com.jdy.haoduoaiteacher.util.inject;
//
//import java.lang.reflect.Method;
//
//import android.app.Activity;
//import android.text.TextUtils;
//import android.util.SparseArray;
//import android.view.View;
//import android.view.View.OnClickListener;
//
//public class OnEventListener implements OnClickListener {
//  private Activity activity;
//  private static SparseArray<String> listeners = new SparseArray<String>();// 我们保存着控件ID以及方法名称的关联
//
//  public OnEventListener(Activity activity) {
//    this.activity = activity;
//  }
//
//  public OnEventListener() {
//
//  }
//
//  public OnEventListener setmClick(Integer id, String name) { // 添加关联，并返回监听接口给View进行设置监听
//    listeners.put(id, name);
//    return this;
//  }
//
//  @Override
//  public void onClick(View v) { // 当有事件触发，则通过id去获取对应的方法，传递参数给方法触发对应的方法。即可
//    if (listeners == null || listeners.size() <= 0) {
//      return;
//    }
//
//    String methodName = listeners.get(v.getId());
//    if (TextUtils.isEmpty(methodName)) {
//      return;
//    }
//    try {
//      // 通过类去查找对应的方法以及参数类型
//      Method callbackMethod = activity.getClass().getDeclaredMethod(methodName,
//          View.class);
//      callbackMethod.setAccessible(true);
//      // 传递对应的参数过去
//      callbackMethod.invoke(activity, v);
//    } catch (Exception e) {
//      e.printStackTrace();
//    }
//  }
//
// }